function PP=Setup_PP(ParamInput)

%% Structural Parameters
%--------------------------------------------------------------------------
% Heterogeneous Household Block
%--------------------------------------------------------------------------
% Preference
% BETA        =   1-0.051/4;
NU_C        =   1;
NU_L        =   1;

% Life-cycle
XI          =   1/45/4;

% Transition Probability
Prob_ext    =   0.16;
TrProb_ext  =   0.90;

Prob_H      =   0.35;
TrProb_H    =   0.90;

% Liquid Asset Borrowing Premium
KAPPA       =   0.06/4;

% Financial Constraint
b_lb        =   -1;

% Income Tax Rate and Transfer
TAU_SS      =   0.20;
UI_Slack    =   0;
MinCon      =   1e-2;


%--------------------------------------------------------------------------
% New Keynesian Block
%--------------------------------------------------------------------------
% Steady State Levels
i_dom_SS    =   0.04/4;
i_ext_SS    =   0.04/4;
Pir_SS      =   0.02/4;
N_SS        =   0.5;
T_SS        =   0.12;
B_Y_SS      =   3.12;
B_Total_SS  =   0.91*4;
% Consumption Basket
Cons_FracT  =   0.5;
Cons_ElasTN =   0.8;
Cons_FracH  =   0.6;
Cons_ElasHF =   0.8;
% Technology
ALPHA_N     =   0.00;
ALPHA_H     =   0.00;
% Price Setting
EPSILON_N   =   10;
EPSILON_H   =   10;
THETA_N     =   100;
THETA_H     =   100;
% Monetary Policy
Taylor_ir   =   0.75;
Taylor_Pi   =   1.1;
Taylor_Pi_N =   0;
Taylor_Pi_H =   0;
Taylor_dE   =   0;
% Aggregation Shocks: Persistence
RHO_Z       =   0.7;
RHO_Z_H     =   0.7;
RHO_Z_N     =   0.7;
RHO_M_dom   =   0.7;
RHO_M_ext   =   0.7;
RHO_Y_H     =   0.7;
% Aggregation Shocks: Std
SIG_Z       =   0.01/4; 
SIG_Z_H     =   0.01/4; 
SIG_Z_N     =   0.01/4;
SIG_M_dom   =   0.01/4;
SIG_M_ext   =   0.01/4;
SIG_Y_H     =   0.01/4;

Flag_dE     =   1;
Flag_Price  =   1;
%--------------------------------------------------------------------------
% Update the Parameter Values based on the Input Information
%--------------------------------------------------------------------------
if nargin>0
    ParamList   =   fieldnames(ParamInput);
    for ii=1:length(ParamList)
        eval([ParamList{ii},'=',num2str(ParamInput.(ParamList{ii})),';']);
    end
end

%% Derived Parameters Directly Used in Computation
TrProb_dom  =   1-Prob_ext*(1-TrProb_ext)/(1-Prob_ext);
TrProb_N    =   1-Prob_H*(1-TrProb_H)/(1-Prob_H);

%% Computation Parameters

%--------------------------------------------------------------------------
% General Computation
%--------------------------------------------------------------------------
DampenCoef  =   1-0.0;
InfoPrint   =   5;
ItTol       =   1e-6;
%% Collect the Parameters
PP          =   struct(... % Structural Parameters
                       ...%'BETA',BETA,...
                       'NU_C',NU_C,'NU_L',NU_L,'N_SS',N_SS,...
                       'XI',XI,...
                       'KAPPA',KAPPA,'b_lb',b_lb,...
                       'TAU_SS',TAU_SS,'T_SS',T_SS,...
                       'B_Total_SS',B_Total_SS,'B_Y_SS',B_Y_SS,...
                       'UI_Slack',UI_Slack,'MinCon',MinCon,...
                       'i_dom_SS',i_dom_SS,'i_ext_SS',i_ext_SS,...
                       'Pir_SS',Pir_SS,...
                       'Cons_FracT',Cons_FracT,'Cons_ElasTN',Cons_ElasTN,...
                       'Cons_FracH',Cons_FracH,'Cons_ElasHF',Cons_ElasHF,...
                       'ALPHA_H',ALPHA_H,'ALPHA_N',ALPHA_N,...
                       'EPSILON_H',EPSILON_H,'EPSILON_N',EPSILON_N,...
                       'THETA_H',THETA_H,'THETA_N',THETA_N,...
                       'Taylor_Pi',Taylor_Pi,'Taylor_Pi_N',Taylor_Pi_N,'Taylor_Pi_H',Taylor_Pi_H,...
                       'Taylor_ir',Taylor_ir,'Taylor_dE',Taylor_dE,...
                       'RHO_Z',RHO_Z,'RHO_Z_H',RHO_Z_H,'RHO_Z_N',RHO_Z_N,...
                       'RHO_M_dom',RHO_M_dom,'RHO_M_ext',RHO_M_ext,'RHO_Y_H',RHO_Y_H,...
                       'SIG_Z',SIG_Z,'SIG_Z_H',SIG_Z_H,'SIG_Z_N',SIG_Z_N,...
                       'SIG_M_dom',SIG_M_dom,'SIG_M_ext',SIG_M_ext,'SIG_Y_H',SIG_Y_H,...
                       'Flag_dE',Flag_dE,'Flag_Price',Flag_Price,...
                       ... % Derived Parameters
                       ...'EffBETA',EffBETA,...
                       ... % Computation Parameters
                       'DampenCoef',DampenCoef,...
                       'InfoPrint',InfoPrint,...
                       'ItTol',ItTol);